#ifndef SENTENCIA_H
#define SENTENCIA_H
#include "tabla_simbolos.h"
#include "generarvariable.h"
class Sentencia
{
public:
    Sentencia(Sentencia *next,int fila,int col);
    Sentencia* getNext();
    void setNext(Sentencia *next);
    virtual string is() = 0;
    virtual Tipo_ts * validarSemantica(Tabla_Simbolos *tabla_de_tipo,Tabla_Simbolos *tabla_de_varaible)=0;
    Tipo_ts* GetReturn();
    void SetReturn(Tipo_ts * Return);
    int getFila();
    int getCol();
    void setFila(int fila);
    void setCol(int col);
    virtual string generarCodigo(GenerarVariable* var,Tabla_Simbolos *tabla_de_tipo,Tabla_Simbolos *tabla_de_varaible)=0;
    multimap<int,string> pinmode;
    multimap<int,string>::iterator it2;
    multimap<int,string> pinleer;
    multimap<int,string>::iterator it3;
    multimap<int,string> pinescribir;
    multimap<int,string>::iterator it4;
    multimap<int,int> pindir;
    multimap<int,int>::iterator it;
private:
    Sentencia *next;
    Tipo_ts * Return;
    int fila;
    int col;
};

#endif // SENTENCIA_H
